//
//  FileUtil.h
//  Platform
//
//  Created by 张宁宁 on 16/9/22.
//  Copyright © 2016年 lirenkj. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface FileUtil : NSObject

/**
 * 判断文件是否存在
 * @param filePath      文件路径
 * @param isDirectory   是否为目录
 * @return              是/否 存在
 */

+ (BOOL)isExsit:(NSString *)filePath isDirectory:(BOOL)isDirectory;

/**
 *  把NSdata 写入一个文件
 *
 *  @param path 文件地址
 *  @param data 文件数据
 *
 *  @return 写入成功或者失败
 */

+ (BOOL)writeFile:(NSString *)path data:(NSData *)data;

/**
 *  在文件后面进行追加写入
 *
 *  @param path 文件地址
 *  @param data 文件数据
 *
 *  @return 是否写入成功
 */

+(BOOL)appendFileWithPath:(NSString*)path data:(NSData*)data;

/**
 * 清空一个目录 不包含当前目录
 * @param dirPath   目录路径
 * @return          是否清空成功
 */

+ (BOOL)cleanDirectory:(NSString *)dirPath;

/**
 *  清空一个目录 包含当前目录
 *
 *  @param filePath 文件路径
 *
 *  @return 是否清除成功
 */

+ (BOOL)removeFile:(NSString *)filePath;

/**
 *  获取当前文件夹下一级的文件
 *
 *  @param filePath 文件路径
 *
 *  @return 文件路径的列表
 */

+ (NSArray *)listFilesFromPath:(NSString *)filePath;

/**
 *  获取文件的数据
 *
 *  @param filePath 文件路径
 *
 *  @return 文件的数据
 */

+ (NSData *)readFileFromLocalPath:(NSString *)filePath;

/**
 *  读取一个文件从一个url
 *
 *  @param url 文件url
 *
 *  @return 文件的数据
 */

+ (NSData *)readFileFromUrl:(NSString *)url;

/**
 *  获取文件的基本信息
 *
 *  @param filePath 文件路径
 *
 *  @return 文件的基本信息(NSFileSize,NSFileCreationDate,NSFileGroupOwnerAccountName,NSFileModificationDate)
 */

+ (NSDictionary *)getFileAttribute:(NSString *)filePath;

/**
 *  复制一个文件到指定的文件夹
 *
 *  @param sourceFilePath 当前文件所在的目录
 *  @param tagertFilePath 需要复制到的目录
 *
 *  @return 是否成功
 */

+ (BOOL)copy:(NSString *)sourceFilePath tagertFilePath:(NSString *)tagertFilePath;

/**
 *  给一个文件重新命名
 *
 *  @param sourceFilePath 当前所在的路径
 *  @param tagertFilePath 目标路径
 *
 *  @return 是否重命名成功
 */

+ (BOOL)rename:(NSString *)sourceFilePath tagertFilePath:(NSString *)tagertFilePath;

@end
